Electronic device use continues to grow, and conservative estimates suggest that tens of billions of electronic devices are in active use. Many of these devices are mobile and web-enabled. Similarly, the growth of malicious code, viruses, cyber espionage, malware, etc., tracks the growth of electronic device use. Great time and effort is expended to certify that the integrity of the software (e.g., operating system) is intact in these electronic devices. In other words, determining that software running on the electronic device has not been illegitimately modified is an important step in creating a trusted computing environment.
The ability to protect the software of the electronic device is limited by the manner in which trust is created or “rooted” in the electronic device. The Trusted Computing Group (“TCG”) develops open standards and specifications for trusted computing. According to the specifications, trust within a given data processing system may be based on a trusted platform module (“TPM”).
TPM techniques can be implemented in a variety of platforms including servers, desktops, notebooks, or handheld computing devices. The purpose of the TPM is to provide computer identity and secure services related to transactions, protecting user data, and other special functions. Current trusted computing mechanisms, which root the integrity of a platform, do so by “extending” a platform configuration register with a cryptographic hash representing the binary of the software. If, however, the binary of the software changes, which is prone to happen, then the cryptographic hash also changes. When any update is made to a trusted binary, an update should also be made to the contents of the platform configuration register.